1. Field of the Invention
The present invention relates to a method of controlling data which is stored in a shared storage in a multiprocessor system which can be accessed from a plurality of computers and, more particularly, to a method of controlling shared data in which an extended storage (hereinafter, abbreviated as "ES") is used as a shared storage.
2. Description of the Related Art
A loosely coupled multiprocessor (hereinafter, abbreviated to "LCMP" system has been disclosed in the column of "Multiprocessor", Iwanami Information Science Dictionary, ISBN4-00-080074-4, pages 438-439, 1990. According to the above disclosure, the LCMP system is constructed in a manner such that a plurality of stand alone computer systems share an input/output (I/O) device and the shared I/O device can be accessed from each of the computer systems. The stand alone computer system denotes a computer system which is constructed in a manner such that a plurality of CPUs (tightly coupled multiprocessor: hereinafter, abbreviated to "TCMP" which are coupled by sharing one CPU (Central Processing Unit) or one memory are used as a center and that a control program (operating system: OS) of each CPU independently operates.
Hereinafter, it is assumed that "system" or "computer system" simply denotes a stand alone computer system or computer. On the other hand, the I/O device which is shared among the stand alone computer systems denotes an input/output device which is provided with an input/output interface so that input and output can be performed to/from a plurality of stand alone computer systems. For instance, in the case where data on one disk is used by a plurality of systems, an expression such that "the disk is shared" is used. Data such as data base, catalogue, and the like can be referred to as such data.
In the LCMP system, when modifying data on a disk apparatus which is shared by a plurality of computers, integrity of data may be lost because accesses from a plurality of computers to the disk apparatus conflict with each other. To prevent such a situation, a mutual exclusion of a shared resource (shared disk apparatus, shared data set (file)) must be executed among the computers. It is necessary to perform communications among the computers in order to execute the mutual exclusion.
Hitherto, a channel to channel communication mechanism is used to connect the computers for communication. The channel to channel communication mechanism is an input/output device when it is seen from each computer. When the first computer generates data to the channel to channel communication mechanism, an interruption is performed to the second computer coupled with the channel to channel communication mechanism. The interrupted second computer generates an input request to the channel to channel communication mechanism and receives the data which was supplied from the first computer. The channel to channel communication mechanism has been described in detail in the HITAC manual "Channel to channel adapter" 8080-2-072.
As a mutual exclusion method of the shared data set in the LCMP system, a method is used whereby each computer generates an ENQ (request for using a serially reusable resource)/DEQ (notify end of using of serially reuseable resource) command and transmit such command to the shared resource and controls. Commands (ENQ/DEQ) and the like for the mutual exclusion are transmitted and received by using the foregoing channel to channel communication mechanism. The accessing order from the computers to the shared resource can be set.
On the other hand, there is also a method whereby it is possible to set a state in which during the access to the shared data set, the whole disk apparatus including the shared data set cannot be accessed from the other computers. According to such a method, on the basis of input/output commands for the disk apparatus, a disk control apparatus does not accept the accesses from the other computers. After completion of the access to the disk apparatus, the above state is cancelled. According to the above method, there is no need to execute the communications among the computers.
There is a case of using the following methods in order to make an accessing speed to the data on the disk high. A partial area in a main memory (hereinafter, simply referred to as a memory) is assured and a part or all of the data stored in the disk is arranged (stored) into the area. The computer transfers the data (copy data) held in the assured area in the memory to the location (address indicated by the program) in the memory from which the data should be read out in place of the access to the disk. A staging of the data into the assured area in the memory, that is, an initial writing is executed by reading out the data from the disk at the first accessing time and storing into the assured area in the memory. The assured area can be also held in a cache memory provided in each computer.
In the case of the LCMP system, such a method for performance improvement cannot be unconditionally applied to the shared data set. This is because if the shared data was modified, mismatch occurs in the copy data corresponding to the modified data in each computer system. For instance, the following situation occurs. Two different computer systems stage the copy of the data in each of the main memories. After that, one (first) of the computer systems modifies certain data in the shared data sets in the memory of the first computer system and the disk. On the other hand, the other (second) computer system cannot be informed of the modified contents regarding the data which had been modified by the first computer system even if the second computer system accessed the copy data in the memory of the second computer system. If the second computer system further modified the data, the integrity of the data between the disk and each main memory is lost.
Therefore, in the case of applying the method for performance improvement of the access as mentioned above, it is necessary to use either (1) a method of limiting such that the access to the data set is performed for only reference or (2) a method of performing a certain consistency control between the computer systems so as to permit the modification of the data.
As a method of the consistency control, there is the following method. That is, any one of the computer systems is set as a host system. The host system controls the modification of the data. The other computer systems inquire and report the information regarding the data modification to the host system each time the data is accessed. As mentioned above, the host system controls the modification of the shared data.
On the other hand, there is also a method whereby each time the data is modified, the modification information is informed to the other computer systems which share the modified data by using an interruption or the like.
Further, the following method has been disclosed in "ACM Transactions on Computer Systems", Vol 3, No. 3, pages 161 to 203, 1985. A control apparatus of the disk has a memory (disk cache memory) which can be accessed at a high speed. The data which has been stored in the disk and is frequently used is stored into the disk cache memory. The access to the disk from the computer is substituted by the access to the disk cache memory. By applying the above method to the LCMP system, the disk control apparatus, particularly, the disk cache memory is shared among the computer systems together with the disk apparatus.